Tests for long task observer: https://github.com/wicg/longtasks (#4540) * Tests for long task observer: https://github.com/wicg/longtasks * Add 2 more tests for sibling iframes: same & cross origin 
diff --git a/longtask-timing/longtask-in-childiframe.html b/longtask-timing/longtask-in-childiframe.html new file mode 100644 index 0000000..53c27c3 --- /dev/null +++ b/longtask-timing/longtask-in-childiframe.html 
@@ -0,0 +1,48 @@ +<!DOCTYPE HTML> +<meta charset=utf-8> +<title>LongTask Timing: long task in nested child iframe</title> +<body> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<h1>Long Task in Nested Child Iframe</h1> +<div id="log"></div> +<script> + async_test(function (t) { + var observer = new PerformanceObserver( + t.step_func(function (entryList) { + var entries = entryList.getEntries(); + assert_equals(entries.length, 1, + "Exactly one entry is expected."); + var longtask = entries[0]; + assert_equals(longtask.entryType, "longtask"); + assert_equals(longtask.name, "same-origin-descendant"); + assert_greater_than(longtask.duration, 50); + assert_equals(longtask.startTime, Math.floor(longtask.startTime), + "startTime expected to have 1 millisecond granularity"); + + // Assert the TaskAttributionTiming entry in attribution. + assert_equals(longtask.attribution.length, 1, + "Exactly one attribution entry is expected"); + var attribution = longtask.attribution[0]; + assert_equals(attribution.entryType, "taskattribution"); + assert_equals(attribution.name, "frame"); + assert_equals(attribution.duration, 0); + assert_equals(attribution.startTime, 0); + assert_equals(attribution.frameId, "child-iframe-id"); + assert_equals(attribution.frameName, "child-iframe-name"); + assert_equals(attribution.frameSrc, "resources/subframe-with-longtask.html"); + observer.disconnect(); + t.done(); + }) + ); + observer.observe({entryTypes: ["longtask"]}); + +}, "Performance longtask entries in child iframe are observable in parent"); + +</script> + +<iframe src="resources/subframe-with-longtask.html" id="child-iframe-id" name="child-iframe-name"></iframe> + +</body> \ No newline at end of file